/** layui-v2.3.0 MIT License By https://www.layui.com */
!(function (e) {
  'use strict'
  var t = document,
    n = { modules: {}, status: {}, timeout: 10, event: {} },
    o = function () {
      this.v = '2.3.0'
    },
    r = (function () {
      var e = t.currentScript
        ? t.currentScript.src
        : (function () {
            for (var e, n = t.scripts, o = n.length - 1, r = o; r > 0; r--)
              if ('interactive' === n[r].readyState) {
                e = n[r].src
                break
              }
            return e || n[o].src
          })()
      return e.substring(0, e.lastIndexOf('/') + 1)
    })(),
    a = function (t) {
      e.console && console.error && console.error('Layui hint: ' + t)
    },
    i = 'undefined' != typeof opera && '[object Opera]' === opera.toString(),
    u = {
      layer: 'modules/layer',
      laydate: 'modules/laydate',
      laypage: 'modules/laypage',
      laytpl: 'modules/laytpl',
      layim: 'modules/layim',
      layedit: 'modules/layedit',
      form: 'modules/form',
      upload: 'modules/upload',
      tree: 'modules/tree',
      table: 'modules/table',
      element: 'modules/element',
      rate: 'modules/rate',
      carousel: 'modules/carousel',
      flow: 'modules/flow',
      util: 'modules/util',
      code: 'modules/code',
      jquery: 'modules/jquery',
      mobile: 'modules/mobile',
      'layui.all': '../layui.all'
    }
  ;(o.prototype.cache = n),
    (o.prototype.define = function (e, t) {
      var o = this,
        r = 'function' == typeof e,
        a = function () {
          var e = function (e, t) {
            ;(layui[e] = t), (n.status[e] = !0)
          }
          return (
            'function' == typeof t &&
              t(function (o, r) {
                e(o, r),
                  (n.callback[o] = function () {
                    t(e)
                  })
              }),
            this
          )
        }
      return (
        r && ((t = e), (e = [])),
        layui['layui.all'] || (!layui['layui.all'] && layui['layui.mobile'])
          ? a.call(o)
          : (o.use(e, a), o)
      )
    }),
    (o.prototype.use = function (e, o, l) {
      function s(e, t) {
        var o =
          'PLaySTATION 3' === navigator.platform
            ? /^complete$/
            : /^(complete|loaded)$/
        ;('load' === e.type ||
          o.test((e.currentTarget || e.srcElement).readyState)) &&
          ((n.modules[d] = t),
          f.removeChild(v),
          (function r() {
            return ++m > (1e3 * n.timeout) / 4
              ? a(d + ' is not a valid module')
              : void (n.status[d] ? c() : setTimeout(r, 4))
          })())
      }
      function c() {
        l.push(layui[d]),
          e.length > 1
            ? y.use(e.slice(1), o, l)
            : 'function' == typeof o && o.apply(layui, l)
      }
      var y = this,
        p = (n.dir = n.dir ? n.dir : r),
        f = t.getElementsByTagName('head')[0]
      ;(e = 'string' == typeof e ? [e] : e),
        window.jQuery &&
          jQuery.fn.on &&
          (y.each(e, function (t, n) {
            'jquery' === n && e.splice(t, 1)
          }),
          (layui.jquery = layui.$ = jQuery))
      var d = e[0],
        m = 0
      if (
        ((l = l || []),
        (n.host =
          n.host ||
          (p.match(/\/\/([\s\S]+?)\//) || ['//' + location.host + '/'])[0]),
        0 === e.length ||
          (layui['layui.all'] && u[d]) ||
          (!layui['layui.all'] && layui['layui.mobile'] && u[d]))
      )
        return c(), y
      if (n.modules[d])
        !(function g() {
          return ++m > (1e3 * n.timeout) / 4
            ? a(d + ' is not a valid module')
            : void ('string' == typeof n.modules[d] && n.status[d]
                ? c()
                : setTimeout(g, 4))
        })()
      else {
        var v = t.createElement('script'),
          h =
            (u[d]
              ? p + 'lay/'
              : /^\{\/\}/.test(y.modules[d])
              ? ''
              : n.base || '') +
            (y.modules[d] || d) +
            '.js'
        ;(h = h.replace(/^\{\/\}/, '')),
          (v.async = !0),
          (v.charset = 'utf-8'),
          (v.src =
            h +
            (function () {
              var e =
                n.version === !0 ? n.v || new Date().getTime() : n.version || ''
              return e ? '?v=' + e : ''
            })()),
          f.appendChild(v),
          !v.attachEvent ||
          (v.attachEvent.toString &&
            v.attachEvent.toString().indexOf('[native code') < 0) ||
          i
            ? v.addEventListener(
                'load',
                function (e) {
                  s(e, h)
                },
                !1
              )
            : v.attachEvent('onreadystatechange', function (e) {
                s(e, h)
              }),
          (n.modules[d] = h)
      }
      return y
    }),
    (o.prototype.getStyle = function (t, n) {
      var o = t.currentStyle ? t.currentStyle : e.getComputedStyle(t, null)
      return o[o.getPropertyValue ? 'getPropertyValue' : 'getAttribute'](n)
    }),
    (o.prototype.link = function (e, o, r) {
      var i = this,
        u = t.createElement('link'),
        l = t.getElementsByTagName('head')[0]
      'string' == typeof o && (r = o)
      var s = (r || e).replace(/\.|\//g, ''),
        c = (u.id = 'layuicss-' + s),
        y = 0
      return (
        (u.rel = 'stylesheet'),
        (u.href = e + (n.debug ? '?v=' + new Date().getTime() : '')),
        (u.media = 'all'),
        t.getElementById(c) || l.appendChild(u),
        'function' != typeof o
          ? i
          : ((function p() {
              return ++y > (1e3 * n.timeout) / 100
                ? a(e + ' timeout')
                : void (1989 ===
                  parseInt(i.getStyle(t.getElementById(c), 'width'))
                    ? (function () {
                        o()
                      })()
                    : setTimeout(p, 100))
            })(),
            i)
      )
    }),
    (n.callback = {}),
    (o.prototype.factory = function (e) {
      if (layui[e])
        return 'function' == typeof n.callback[e] ? n.callback[e] : null
    }),
    (o.prototype.addcss = function (e, t, o) {
      return layui.link(n.dir + 'css/' + e, t, o)
    }),
    (o.prototype.img = function (e, t, n) {
      var o = new Image()
      return (
        (o.src = e),
        o.complete
          ? t(o)
          : ((o.onload = function () {
              ;(o.onload = null), 'function' == typeof t && t(o)
            }),
            void (o.onerror = function (e) {
              ;(o.onerror = null), 'function' == typeof n && n(e)
            }))
      )
    }),
    (o.prototype.config = function (e) {
      e = e || {}
      for (var t in e) n[t] = e[t]
      return this
    }),
    (o.prototype.modules = (function () {
      var e = {}
      for (var t in u) e[t] = u[t]
      return e
    })()),
    (o.prototype.extend = function (e) {
      var t = this
      e = e || {}
      for (var n in e)
        t[n] || t.modules[n]
          ? a('模块名 ' + n + ' 已被占用')
          : (t.modules[n] = e[n])
      return t
    }),
    (o.prototype.router = function (e) {
      var t = this,
        e = e || location.hash,
        n = {
          path: [],
          search: {},
          hash: (e.match(/[^#](#.*$)/) || [])[1] || ''
        }
      return /^#\//.test(e)
        ? ((e = e.replace(/^#\//, '')),
          (n.href = '/' + e),
          (e = e.replace(/([^#])(#.*$)/, '$1').split('/') || []),
          t.each(e, function (e, t) {
            ;/^\w+=/.test(t)
              ? (function () {
                  ;(t = t.split('=')), (n.search[t[0]] = t[1])
                })()
              : n.path.push(t)
          }),
          n)
        : n
    }),
    (o.prototype.data = function (t, n, o) {
      if (
        ((t = t || 'layui'), (o = o || localStorage), e.JSON && e.JSON.parse)
      ) {
        if (null === n) return delete o[t]
        n = 'object' == typeof n ? n : { key: n }
        try {
          var r = JSON.parse(o[t])
        } catch (a) {
          var r = {}
        }
        return (
          'value' in n && (r[n.key] = n.value),
          n.remove && delete r[n.key],
          (o[t] = JSON.stringify(r)),
          n.key ? r[n.key] : r
        )
      }
    }),
    (o.prototype.sessionData = function (e, t) {
      return this.data(e, t, sessionStorage)
    }),
    (o.prototype.device = function (t) {
      var n = navigator.userAgent.toLowerCase(),
        o = function (e) {
          var t = new RegExp(e + '/([^\\s\\_\\-]+)')
          return (e = (n.match(t) || [])[1]), e || !1
        },
        r = {
          os: (function () {
            return /windows/.test(n)
              ? 'windows'
              : /linux/.test(n)
              ? 'linux'
              : /iphone|ipod|ipad|ios/.test(n)
              ? 'ios'
              : /mac/.test(n)
              ? 'mac'
              : void 0
          })(),
          ie: (function () {
            return (
              !!(e.ActiveXObject || 'ActiveXObject' in e) &&
              ((n.match(/msie\s(\d+)/) || [])[1] || '11')
            )
          })(),
          weixin: o('micromessenger')
        }
      return (
        t && !r[t] && (r[t] = o(t)),
        (r.android = /android/.test(n)),
        (r.ios = 'ios' === r.os),
        r
      )
    }),
    (o.prototype.hint = function () {
      return { error: a }
    }),
    (o.prototype.each = function (e, t) {
      var n,
        o = this
      if ('function' != typeof t) return o
      if (((e = e || []), e.constructor === Object)) {
        for (n in e) if (t.call(e[n], n, e[n])) break
      } else for (n = 0; n < e.length && !t.call(e[n], n, e[n]); n++);
      return o
    }),
    (o.prototype.sort = function (e, t, n) {
      var o = JSON.parse(JSON.stringify(e || []))
      return t
        ? (o.sort(function (e, n) {
            var o = /^-?\d+$/,
              r = e[t],
              a = n[t]
            return (
              o.test(r) && (r = parseFloat(r)),
              o.test(a) && (a = parseFloat(a)),
              r && !a ? 1 : !r && a ? -1 : r > a ? 1 : r < a ? -1 : 0
            )
          }),
          n && o.reverse(),
          o)
        : o
    }),
    (o.prototype.stope = function (t) {
      t = t || e.event
      try {
        t.stopPropagation()
      } catch (n) {
        t.cancelBubble = !0
      }
    }),
    (o.prototype.onevent = function (e, t, n) {
      return 'string' != typeof e || 'function' != typeof n
        ? this
        : o.event(e, t, null, n)
    }),
    (o.prototype.event = o.event =
      function (e, t, o, r) {
        var a = this,
          i = null,
          u = t.match(/\((.*)\)$/) || [],
          l = (e + '.' + t).replace(u[0], ''),
          s = u[1] || '',
          c = function (e, t) {
            var n = t && t.call(a, o)
            n === !1 && null === i && (i = !1)
          }
        return r
          ? ((n.event[l] = n.event[l] || {}), (n.event[l][s] = [r]), this)
          : (layui.each(n.event[l], function (e, t) {
              return '{*}' === s
                ? void layui.each(t, c)
                : ('' === e && layui.each(t, c),
                  void (e === s && layui.each(t, c)))
            }),
            i)
      }),
    (e.layui = new o())
})(window)
